Motivação


“Nem sempre conseguimos enxergar padrões com os olhos. Às vezes, precisamos de matemática para revelá-los.”

Imagine tentar entender as preferências de centenas de pessoas, ou visualizar a semelhança entre dezenas de produtos. Como representar isso de forma intuitiva?

Exemplo prático

Uma empresa de telefonia realizou uma pesquisa para avaliar como os clientes percebiam diferentes marcas concorrentes no mercado. Cada entrevistado avaliou o grau de similaridade entre as marcas, sem indicar explicitamente o motivo. Com esses dados, aplicou-se MDS para construir um mapa perceptual.

  • Claro e Vivo estão próximas, sugerindo que os consumidores as percebem como similares.

  • TIM e Oi também aparecem próximas, formando um outro grupo perceptual.

  • Nextel está mais distante das demais, indicando uma percepção diferenciada.

O que é MDS?

Escalonamento Multidimensional (MDS) é uma técnica exploratória de redução de dimensionalidade baseada em distâncias ou dissimilaridades.

Objetivo: encontrar uma representação espacial dos objetos em k dimensões, preservando as distâncias originais tanto quanto possível.

🤔 Diferente do PCA, que usa variância, o MDS parte de uma matriz de distâncias.

MDS pode ser utilizado com ou sem os dados originais, desde que se conheça a matriz de distância.

Formulação matemática

Dada uma matriz de distâncias \(\Delta = (\delta_{ij})_{n \times n}\), o objetivo do escalonamento multidimensional é encontrar pontos \(P_1, P_2, \cdots, P_n\), \(k\)-dimensionais tais que, se \(d_{ij}\) denota a distância euclidiana entre \(P_i\) e \(P_j\), então \(D = (d_{ij})\) é “próxima” a \(\Delta\) em algum sentido.

  • Métodos métricos: os pontos \(P\) são obtidos de tal forma que \(D \approx \Delta\)
    • Assume distâncias reais, preservando as magnitudes.
  • Métodos não métricos: baseados na ordenação das \(\displaystyle{\frac{n(n-1)}{2}}\) distâncias
    • Assume apenas a ordem das distâncias.

Formulação matemática: MDS métrico


  • Considere a matriz \(\Delta = (\delta_{ij})\) das distâncias originais entre os \(n\) indivíduos.
  • Nosso objetivo é encontrar \(n\) pontos \(k\)-dimensionais de tal forma que a distância \(d_{ij}\) entre os indivíduos \(i\) e \(j\) em \(k\) dimensões seja aproximadamente igual ao valor de \(\delta_{ij}\) em \(\Delta\).
  • Geralmente, temos \(k=2\) ou \(k=3\).

Formulação matemática: MDS métrico


  • Para encontrar os pontos \(P_1, P_2, \cdots, P_n\):
    1. Encontrar uma matriz \(A_n = (a_{ij})\), onde \(a_{ij} = -\displaystyle{\frac{1}{2}} \delta_{ij}^2\), sendo \(\delta_{ij}\) o \(ij\)-ésimo elemento de \(\Delta\)
    2. Construir a matriz \(B = (b_{ij})\), onde \(b_{ij} = a_{ij} - \bar{a}_{i\cdot} - \bar{a}_{\cdot j} + \bar{a}_{\cdot \cdot}\), em que

\[\bar{a}_{i\cdot} = \displaystyle{\frac{\displaystyle{\sum_{j = 1}^n} a_{ij}}{n}}, \hspace{0.5cm} \bar{a}_{\cdot j} = \displaystyle{\frac{\displaystyle{\sum_{i = 1}^n} a_{ij}}{n}} \hspace{0.25cm} \text{e} \hspace{0.25cm} \bar{a}_{\cdot \cdot} = \displaystyle{\frac{\displaystyle{\sum_{i = 1}^n} \displaystyle{\sum_{j = 1}^n} a_{ij}}{n}} \]

Formulação matemática: MDS métrico

A matriz \(B\) pode ser escrita na forma matricial:

\[B = \left ( \mathrm{I}-\frac{1}{n}\mathrm{J}\right )A\left ( \mathrm{I}-\frac{1}{n}\mathrm{J}\right )\]

  1. Uma vez que \(B\) é simétrica, podemos encontrar a decomposição espectral da matriz \(B\):

\[B = O \Lambda O^{t}\]

em que \(O\) é a matriz de autovetores normalizados e \(\Lambda\) é a matriz diagonal dos autovalores de \(B\).

Formulação matemática: MDS métrico

  • Observação: Se \(B\) é positiva semidefinida de posto \(q\), então existem \(q\) autovalores positivos e os \((n-q)\) autovalores iguais a zero. Sejam \(\Lambda_{1} = \text{diag}(\lambda_{1},\lambda_{2}, \cdots, \lambda_{q})\) a matriz diagonal com os \(q\) autovalores positivos e \(O_{1}=(\mathbf{e}_{1},\mathbf{e}_{2}, \cdots, \mathbf{e}_{q})\) a matriz com os correspondente autovetores normalizados.
  • Assim, podemos reescrever,

\[\begin{eqnarray*} B &=& O_{1}\Lambda_{1}O_{1}^{t} \\ &=& O_{1}\Lambda_{1}^{\frac{1}{2}}\Delta_{1}^{\frac{1}{2}}O_{1}^{t} \\ &=& ZZ^{t} \end{eqnarray*} \]

Formulação matemática: MDS métrico

em que

\[ \begin{eqnarray} Z=O_{1}\Lambda_{1}^{\frac{1}{2}}=(\sqrt{\lambda_{1}}\mathbf{e}_{1}, \sqrt{\lambda_{2}}\mathbf{e}_{2}, \cdots, \sqrt{\lambda_{q}}\mathbf{e}_{q})=\begin{pmatrix} \mathbf{Z}_{1}^{t}\\ \mathbf{Z}_{2}^{t}\\ \vdots\\ \mathbf{Z}_{n}^{t}\end{pmatrix} \end{eqnarray} \]

Formulação matemática: MDS métrico

  1. As linhas \(\mathbf{Z}_{1}^{t}, \mathbf{Z}_{2}^{t}, \cdots, \mathbf{Z}_{n}^{t}\) são os pontos cuja distância \(d_{ij} = (\mathbf{Z}_{i}-\mathbf{Z}_{j})^{t}(\mathbf{Z}_{i}-\mathbf{Z}_{j})\) corresponde às distâncias \(\delta_{ij}\) da matriz de distâncias \(\Delta\).
  1. Se usarmos os \(q\) autovalores positivos para construir a matriz \(\Lambda_{1}\), teremos \(d_{ij} = \delta_{ij}\). A ideia é utilizarmos um número \(k < q\) (geralmente \(k = 2\) ou \(k = 3\)) de autovalores e autovetores correspondentes para encontrarmos \(n\) pontos cujas distâncias \(d_{ij}\) sejam aproximadamente iguais às correspondentes \(\delta_{ij}\).
  1. Se \(B\) não é positiva semidefinida, porém os \(k\) primeiros autovalores são positivos, então estes podem ser usados para construção das matrizes \(O_{1}\) e \(\Lambda_{1}\).

Exemplo 01: Distâncias entre capitais brasileiras


Os dados referem-se à matriz de distâncias empíricas entre algumas capitais brasileiras. O objetivo é encontrar uma representação gráfica dessas capitais baseada apenas nessas distâncias.

Exemplo 01: Distâncias entre capitais brasileiras

D = read.table("https://raw.githubusercontent.com/tiagomartin/est022/refs/heads/main/dados/distancias_capitais.dat", header=T)
D
               ARACAJÚ BELÉM BELO_HORIZONTE BOA_VISTA BRASÍLIA CAMPO_GRANDE
ARACAJÚ              0  2079           1578      6000     1652         2765
BELÉM             2079     0           2824      6083     2120         2942
BELO_HORIZONTE    1578  2824              0      4736      716         1453
BOA_VISTA         6000  6083           4736         0     4275         3836
BRASÍLIA          1650  2140            741      4275        0         1134
CAMPO_GRANDE      2764  2942           1453      3836     1134            0
CUIABÁ            2773  2941           1594      3142     1133          694
CURITIBA          2595  3193           1004      4821     1366          991
FLORIANÓPOLIS     2892  3500           1301      5128     1673         1298
FORTALEZA         1183  1611           2528      6548     2208         3407
GOIÂNIA           1849  2017            906      4076      209          935
JOÃO_PESSOA        611  2161           2171      6539     2245         3357
MACEIÓ             294  2173           1854      6276     1928         3040
MANAUS            5215  5298           3951       785     3490         3051
NATAL              788  2108           2348      6770     2422         3537
PORTO_ALEGRE      3296  3854           1712      5348     2027         1518
PORTO_VELHO       4229  4397           3050      1686     2589         2150
RECIFE             501  2074           2061      6483     2135         3247
RIO_BRANCO        4763  4931           3584      2230     3123         2684
RIO_DE_JANEIRO    1855  3250            434      5159     1148         1444
SALVADOR           356  2100           1372      5749     1446         2568
SÃO_LUÍS          1578   806           2738      6120     2157         2979
SÃO_PAULO         2188  2933            586      4756     1015         1014
TERESINA          1142   947           2302      6052     1789         2911
VITÓRIA           1408  3108            524      5261     1238         1892
               CUIABÁ CURITIBA FLORIANÓPOLIS FORTALEZA GOIÂNIA JOÃO_PESSOA
ARACAJÚ          2775     2595          2892      1183    1848         611
BELÉM            2941     3193          3500      1610    2017        2161
BELO_HORIZONTE   1594     1004          1301      2528     906        2171
BOA_VISTA        3142     4821          5128      6548    4076        6593
BRASÍLIA         1133     1366          1673      2200     209        2245
CAMPO_GRANDE      694      991          1298      3407     935        3357
CUIABÁ              0     1679          1986      3406     934        3366
CURITIBA         1679        0           300      3541    1186        3188
FLORIANÓPOLIS    1986      300             0      3838    1493        3485
FORTALEZA        3406     3541          3838         0    2482         688
GOIÂNIA           934     1186          1493      2482       0        2442
JOÃO_PESSOA      3366     3188          3485       688    2442           0
MACEIÓ           3049     2871          3168      1075    2105         395
MANAUS           2357     4036          4343      5763    3291        5808
NATAL            3543     3365          3662       537    2619         185
PORTO_ALEGRE     2206      711           476      4242    1847        3889
PORTO_VELHO      1456     3135          3442      4865    2390        4822
RECIFE           3256     3078          3375       800    2332         120
RIO_BRANCO       1990     3669          3976      5396    2924        5356
RIO_DE_JANEIRO   2017      852          1144      2805    1338        2448
SALVADOR         2567     2385          2682      1389    1643         949
SÃO_LUÍS         2978     3230          3537      1070    2054        1660
SÃO_PAULO        1614      408           705      3127     926        2770
TERESINA         2910     3143          3450       634    1986        1224
VITÓRIA          2119     1300          1597      2397    1428        2001
               MACEIÓ MANAUS NATAL PORTO_ALEGRE PORTO_VELHO RECIFE RIO_BRANCO
ARACAJÚ           294   5215   788         3296        4230    501       4763
BELÉM            2173   5298  2108         3852        4397   2074       4931
BELO_HORIZONTE   1854   3951  2348         1712        3050   2061       3584
BOA_VISTA        6279    785  6770         5348        1686   6483       2230
BRASÍLIA         1930   3490  2422         2027        2589   2135       3123
CAMPO_GRANDE     3040   3051  3534         1518        2150   3247       2684
CUIABÁ           3049   2357  3543         2206        1456   3255       1990
CURITIBA         2871   4036  3365          711        3135   3078       3669
FLORIANÓPOLIS    3168   4443  3662          476        3442   3375       3976
FORTALEZA        1075   5763   537         4242        4862    800       5396
GOIÂNIA          2125   3291  2618         1847        2390   2332       2924
JOÃO_PESSOA       395   5808   185         3889        4822    120       5356
MACEIÓ              0   5491   572         3572        4505    285       5039
MANAUS           5491      0  5985         4563         901   5698       1445
NATAL             572   5985     0         4066        4998    297       5533
PORTO_ALEGRE     3572   4563  4066            0        3662   3779       4196
PORTO_VELHO      4505    901  4999         3662           0   4712        544
RECIFE            285   5698   297         3779        4712      0       5243
RIO_BRANCO       5039   1445  5533         4196         544   5243          0
RIO_DE_JANEIRO   2131   4374  2625         1553        3473   2338       4007
SALVADOR          632   5009  1126         3090        4023    839       4457
SÃO_LUÍS         1672   5335  1607         3891        4434   1573       4968
SÃO_PAULO        2453   3971  2947         1109        3070   2660       3604
TERESINA         1236   5267  1171         3804        4366   1137       4900
VITÓRIA          1684   4476  2178         2001        3575   1891       4109
               RIO_DE_JANEIRO SALVADOR SÃO_LUÍS SÃO_PAULO TERESINA VITÓRIA
ARACAJÚ                  1855      356     1578      2187     1142    1408
BELÉM                    3250     2100      806      2933      947    3108
BELO_HORIZONTE            434     1372     2738       586     2302     524
BOA_VISTA                5159     5794     6120      4756     6052    5261
BRASÍLIA                 1148     1446     2157      1015     1789    1239
CAMPO_GRANDE             1444     2568     2979      1014     2911    1892
CUIABÁ                   2017     2566     2978      1614     2910    2119
CURITIBA                  852     2385     3230       408     3143    1300
FLORIANÓPOLIS            1144     2682     3537       705     3450    1597
FORTALEZA                2805     1389     1070      3127      634    2397
GOIÂNIA                  1338     1643     2054       926     1986    1428
JOÃO_PESSOA              2448      949     1660      2770     1224    2001
MACEIÓ                   2131      632     1672      2453     1236    1684
MANAUS                   4374     5009     5335      3971     5267    4476
NATAL                    2625     1126     1607      2947     1171    2178
PORTO_ALEGRE             1553     3090     3891      1109     3804    2001
PORTO_VELHO              3473     4023     4434      3070     4366    3575
RECIFE                   2338      839     1573      2660     1137    1891
RIO_BRANCO               4007     4457     4968      3604     4900    4109
RIO_DE_JANEIRO              0     1649     3015       429     2579     521
SALVADOR                 1649        0     1599      1962     1163    1202
SÃO_LUÍS                 3015     1599        0      2970      446    2607
SÃO_PAULO                 429     1962     2970         0     2792     882
TERESINA                 2579     1163      446      2792        0    2171
VITÓRIA                   521     1202     2607       882     2171       0

Exemplo 01: Distâncias entre capitais brasileiras

mds = cmdscale(D,eig=TRUE, k=2) 
mds
$points
                      [,1]        [,2]
ARACAJÚ        -1489.71038  -206.50885
BELÉM          -1378.92596 -1017.29104
BELO_HORIZONTE   -42.42899   619.29681
BOA_VISTA       4403.39543 -1181.06950
BRASÍLIA         173.96490   -58.30587
CAMPO_GRANDE    1004.42381   521.33931
CUIABÁ          1297.70873  -169.08193
CURITIBA         403.74389  1432.03861
FLORIANÓPOLIS    384.03703  1865.12027
FORTALEZA      -2119.27691  -995.58173
GOIÂNIA          362.73174   -50.55496
JOÃO_PESSOA    -2089.80893  -429.79392
MACEIÓ         -1766.20299  -276.05425
MANAUS          3659.02851  -928.98333
NATAL          -2301.72481  -500.35375
PORTO_ALEGRE     502.06069  2283.64992
PORTO_VELHO     2741.98907  -684.14251
RECIFE         -1996.58876  -385.61246
RIO_BRANCO      3129.01526  -741.44784
RIO_DE_JANEIRO  -199.76400  1165.87617
SALVADOR       -1235.72476  -152.62678
SÃO_LUÍS       -1571.42447 -1059.70496
SÃO_PAULO        214.92972  1091.33706
TERESINA       -1593.53303  -947.35549
VITÓRIA         -483.64182   801.13582

$eig
 [1] 85745567.8818 22674607.4659  6856079.6368  2004411.7789   829527.5423
 [6]   632713.2852   300753.6064   245581.0571   167857.2165   100398.7226
[11]    55436.4480    48667.5310    17578.1877     -192.9317    -9102.9571
[16]   -36187.0820   -73569.7125  -113678.3575  -138805.9278  -267617.4884
[21]  -317000.6964  -472494.8886  -654735.5974 -1226523.8848 -3284784.7760

$x
NULL

$ac
[1] 0

$GOF
[1] 0.8586113 0.9059234

Exemplo 01: Distâncias entre capitais brasileiras

plot(mds$points, type = "n", main = "MDS - Capitais")
text(mds$points, labels = rownames(D), cex = 0.7)

Exemplo 01: Distâncias entre capitais brasileiras

# Refletindo a solução
mds_refletida = mds$points
mds_refletida[, 1] = -mds_refletida[, 1]
mds_refletida[, 2] = -mds_refletida[, 2]

plot(mds_refletida, type = "n", main = "MDS - Capitais")
text(mds_refletida, labels = rownames(D), cex = 0.7)

MDS métrico para matriz de similaridades

Como obter as coordenadas principais \(\mathbf{Z}\) a partir da matriz de similaridades?

  • Seja \(C = (c_{ij})\) a matriz de similaridade entre os \(n\) objetos tal que,

\[c_{ij} = c_{ji} \hspace{1cm} c_{ij} \leqslant c_{ii} \hspace{0.3cm} i,j = 1, \cdots, n\]

  • Podemos obter \(\Delta = (\delta_{ij})\) a partir de \(C = (c_{ij})\) de acordo com:

\[\delta_{ij} = (c_{ii} + c_{jj} - 2c_{ij})^{1/2}\]

  • \(\Delta\) é a matriz de distâncias euclidianas \(\Longrightarrow\) obter \(B\) e sua decomposição

MDS métrico para matriz de similaridades


Alternativamente…

\[B = \left ( \mathrm{I}-\frac{1}{n}\mathrm{J}\right )C\left ( \mathrm{I}-\frac{1}{n}\mathrm{J}\right )\]

Encontrar as coordenadas principais \(\mathbf{Z}\) conforme visto anteriormente.

Exemplo 02: Percepção de Marcas (Pesquisa de Marketing)

Suponha que uma empresa de pesquisa de mercado realizou entrevistas com consumidores, solicitando que avaliassem o quão similares eles acham diferentes marcas de refrigerantes. O resultado foi uma matriz de dissimilaridades baseada na percepção subjetiva dos participantes.

C
                   Coca-Cola Pepsi Guaraná Antarctica Fanta Sprite
Coca-Cola                  5     4                  3     2      2
Pepsi                      4     5                  3     2      3
Guaraná Antarctica         3     3                  5     4      4
Fanta                      2     2                  4     5      5
Sprite                     2     3                  4     5      5

Exemplo 02: Percepção de Marcas (Pesquisa de Marketing)

diag_C = diag(C)
D = outer(diag_C, rep(1, nrow(C))) + outer(rep(1, nrow(C)), diag_C) - 2 * C
dimnames(D) = list(brands, brands)
D
                   Coca-Cola Pepsi Guaraná Antarctica Fanta Sprite
Coca-Cola                  0     2                  4     6      6
Pepsi                      2     0                  4     6      4
Guaraná Antarctica         4     4                  0     2      2
Fanta                      6     6                  2     0      0
Sprite                     6     4                  2     0      0

Exemplo 02: Percepção de Marcas (Pesquisa de Marketing)

mds = cmdscale(D,eig=TRUE, k=2) 
plot(mds$points, type = "n", main = "MDS - Marcas de refrigerante")
text(mds$points, labels = rownames(D), cex = 0.7)

Exemplo 02: Percepção de Marcas (Pesquisa de Marketing)

  1. Coca-Cola e Pepsi:
  • Aparecem próximas entre si e distantes das demais, especialmente no eixo horizontal. Isso sugere que os consumidores as percebem como marcas muito similares (o que é consistente com sua categoria de colas tradicionais).
  1. Fanta e Sprite:
  • Estão relativamente próximas, mas não sobrepostas. Ambas localizadas no lado direito do gráfico, são percebidas como similares entre si, o que pode ser explicado por características compartilhadas: Sabores cítricos, sensação de leveza, ausência de cafeína e associação a refrescância.

Exemplo 02: Percepção de Marcas (Pesquisa de Marketing)

  1. Guaraná Antarctica:
  • Está localizada numa posição intermediária entre colas (Coca-Cola e Pepsi) e os refrigerantes frutados (Fanta e Sprite). Isso indica que a percepção do Guaraná é distinta de ambos os grupos, sendo percebido como um produto com identidade própria, nem tão semelhante às colas, nem aos refrigerantes cítricos.
  1. Distância de Fanta/Sprite para Coca-Cola/Pepsi:
  • Reforça a ideia de que consumidores veem essas bebidas como categorias distintas, talvez associando colas a sabores mais fortes, tradição e energia, enquanto Sprite/Fanta a refrescância e informalidade.

Exemplo 02: Possíveis interpretações práticas


  • Sobreposição de mercado moderada entre Fanta e Sprite: embora não estejam sobrepostas, a proximidade sugere que competem por um mesmo nicho. Pode ser necessário reforçar seus atributos únicos.
  • Guaraná Antarctica como “ponte perceptual” ou nicho isolado: sua posição intermediária pode representar uma oportunidade estratégica de reposicionamento como opção alternativa às categorias dominantes.
  • Colas claramente delimitadas: Coca-Cola e Pepsi formam um grupo distinto e bem consolidado na mente do consumidor, o que reforça a importância de manter campanhas focadas em fidelização, legado e diferenciação sutil.

Observações


  • O MDS não atribui significado direto aos eixos (Dimensão 1 e 2), mas permite interpretar relações de proximidade.
  • O importante é a distância relativa entre os pontos (marcas).

Formulação matemática: MDS Não-métrico

  • \(\Delta = (\delta_{ij})\) é considerada uma matriz de dissimilaridade geral (não precisa ser de distâncias euclidianas)
  • Os elementos de \(\Delta\) podem ser ordenados

\[\delta_{ij}^{(1)} \leqslant \delta_{ij}^{(2)} \leqslant \cdots \leqslant \delta_{ij}^{(m)}, \hspace{0.5cm} m = \displaystyle{\frac{n(n-1)}{2}}\]

  • Seja \(D = (d_{ij})\), tal que os elementos \(d_{ij}\) estão monotonicamente relacionados com os elementos \(\delta_{ij}\)

\[\delta_{ij} < \delta_{rs} \Longrightarrow d_{ij} < d_{rs}; \hspace{0.5cm} i < j, r < s\]

Formulação matemática: MDS Não-métrico

  • Seja \(Z\) uma configuração \(k\)-dimensional com distâncias \(d_{ij}\). \(Z\) é ótima no sentido de minimizar a seguinte medida:

\[ \begin{equation} S^2(Z) = \displaystyle{\frac{\displaystyle{\sum_{i < j}} (\delta_{ij} - d_{ij})^2} {\displaystyle{\sum_{i < j} \delta_{ij}^2}}} \end{equation} \]

  • O valor mínimo de \(S^2\) para uma dada dimensão \(k\) é chamado de STRESS (STandard REsiduals Sum of Squares). O STRESS mede o quanto da variância das dissimilaridades NÃO é explicada pelas \(k\) coordenadas principais.

Formulação matemática: MDS Não-métrico

Passos para encontrar o STRESS

  1. Ranquear as \(m=\frac{n(n-1)}{2}\) distâncias ou dissimilaridades \(\delta_{ij}\).
  1. Escolha um valor de \(k\) e a configuração inicial dos pontos em \(k\) dimensões. A escolha de \(k\) pode seguir a seguinte regra prática:
Dimensões Indivíduos
k = 1 pelo menos 5
k = 2 pelo menos 9
k = 3 pelo menos 13

A configuração inicial dos pontos nas \(k\) dimensões pode ser tomada como a solução do MDS métrico.

Formulação matemática: MDS Não-métrico


  1. Para a configuração inicial dos pontos, encontre a distância \(\delta_{ij}\) entre eles. Encontre os valores de \(d_{ij}\) que minimizem a função \(S^2(Z)\).
  1. Escolha a nova configuração de pontos cujas distâncias \(d_{ij}\) minimizam \(S^{2}\).
  1. Encontre novos valores de \(d_{ij}\) para os valores de \(\delta_{ij}\) encontrados no passo d. Encontre os novos valores da função STRESS.
  1. Repita os passos d e e até o STRESS convergir para um valor mínimo sobre todas as possíveis \(k\)-dimensionais configurações dos pontos.

Formulação matemática: MDS Não-métrico

Regra prática: Como avaliar os valores de STRESS?


Stress Ajuste
maior que 0,20 Ruim
entre 0,10 e 0,20 Regular
entre 0,05 e 0,10 Bom
menor que 0,05 Excelente

O gráfico Shepard

  • Compara as distâncias ajustadas pelo modelo e as disparidades originais, permitindo uma análise de diagnóstico da qualidade do ajuste do modelo.
  • É um gráfico de dispersão, no qual se espera como resultado que os pontos não se afastem muito de uma linha crescente, indicando que cada dissimilaridade original, dada pela disparidade, é bem representada pela distância ajustada pelo modelo.
    • Se os pontos estão próximos da linha → boa representação das dissimilaridades no espaço de menor dimensão.
    • Dispersão dos pontos longe da linha → indica stress maior e ajuste menos fiel.

Exemplo 03: Posicionamento de Marcas de Cerveja

  • Os dados referem-se à uma pesquisa sobre o posicionamento de algumas marcas nacionais de cerveja comercializadas nos restaurantes, bares e mercados brasileiros.
  • Para o experimento, foram selecionadas 10 marcas dentre as principais cervejas fabricadas e comercializadas no Brasil.
  • 20 apreciadores classificaram as marcas aos pares, atribuindo o escore 0 (caso pertençam a um mesmo grupo) ou o escore 1 (caso contrário)
  • Os escores foram agrupados. Quanto menor o escore total, mais similares são as marcas.

Exemplo 03: Posicionamento de Marcas de Cerveja

D = read.table("https://raw.githubusercontent.com/tiagomartin/est022/refs/heads/main/dados/cervejas_nmds.dat", header=T)
D = as.matrix(D)
D
             Bohemia Brahma_Extra Skol Brahma Antartica Kaiser Nova_Schin
Bohemia            0            4    7     11        14     16         17
Brahma_Extra       4            0    6      9        13     16         16
Skol               7            6    0      4         5      9         11
Brahma            11            9    4      0         5      7          8
Antartica         14           13    5      5         0      4          6
Kaiser            16           16    9      7         4      0          3
Nova_Schin        17           16   11      8         6      3          0
Cintra            18           17   14     15        12      4          7
Itaipava          18           16   14     14        13      4          5
Serra_Malte        7            6   10     11        15     15         17
             Cintra Itaipava Serra_Malte
Bohemia          18       18           7
Brahma_Extra     17       16           6
Skol             14       14          10
Brahma           15       14          11
Antartica        12       13          15
Kaiser            4        4          15
Nova_Schin        7        5          17
Cintra            0        3          18
Itaipava          3        0          18
Serra_Malte      18       18           0

Exemplo 03: Posicionamento de Marcas de Cerveja

library(MASS)
Nmds = isoMDS(D,y=cmdscale(D,2))
initial  value 9.995637 
iter   5 value 4.068359
iter  10 value 3.567672
iter  15 value 3.324422
iter  20 value 3.246113
iter  20 value 3.244040
iter  20 value 3.244039
final  value 3.244039 
converged
par(mar = c(4, 4, 2, 1))  # margens inferiores, esquerdas, superiores, direitas
plot(Nmds$points, type = "n", main = "Mapa NMDS - Cervejas", xlab="", ylab="")
text(Nmds$points, labels = row.names(D), cex=.7) 

Exemplo 03: Posicionamento de Marcas de Cerveja

Exemplo 03: Posicionamento de Marcas de Cerveja

# Shepard Diagram
shep = Shepard(as.dist(D), Nmds$points)

# Plot usando base R
plot(shep$x, shep$y, xlab = "Dissimilaridade original",
     ylab = "Distância Euclidiana no Mapa",
     main = "Shepard Diagram (NMDS)",
     pch = 20)
lines(shep$x, shep$yf, type = "s", col = "blue")

Exemplo 03: Posicionamento de Marcas de Cerveja


  • Há boa aderência dos pontos à linha azul, o que sugere que o modelo NMDS capturou bem a estrutura perceptual dos dados.
  • Isso valida o uso do mapa gerado para interpretações estratégicas como segmentação, diferenciação de marcas ou agrupamento perceptual.

Exemplo 03: Posicionamento de Marcas de Cerveja

  • Grupo 1: Bohemia, Brahma Extra, Serra Malte
    • Estão no lado esquerdo, relativamente próximos.
    • Provavelmente são percebidas como cervejas premium ou especiais.
    • Serra Malte é mais afastada verticalmente, sugerindo que é percebida como mais diferenciada, mas ainda próxima desse grupo de cervejas artesanais ou encorpadas.
  • Grupo 2: Skol, Brahma
    • Estão próximos no centro do mapa.
    • São cervejas populares, leves, comerciais: percebidas como similares entre si e intermediárias entre os grupos.

Exemplo 03: Posicionamento de Marcas de Cerveja


  • Grupo 3: Nova Schin, Kaiser, Itaipava, Cintra
    • Estão no lado direito, com Nova Schin e Kaiser próximos.
    • Cervejas econômicas ou consideradas mais leves, talvez associadas a preço competitivo ou menor diferenciação de sabor.
  • Antarctica
    • Isolada no canto superior direito.
    • Pode indicar percepção de sabor distinto ou perfil tradicional, com diferenciação tanto dos grupos populares quanto dos especiais.

Exemplo 03: Aplicações práticas


  • Posicionamento de Marca: empresas podem identificar o espaço ocupado por suas marcas e posicioná-las estrategicamente.
  • Lançamento de produto: um novo rótulo pode ser idealizado para ocupar um “espaço vazio” no mapa.
  • Segmentação de mercado: os clusters refletem perfis de consumidores distintos.